The invention is related to wireless communication, and in particular to synchronizing clocks in a wireless data network.
Wireless data networks such as wireless local area networks (WLANs) can be used either to replace wired LANs, or as an extension of the wired LAN infrastructure. IEEE 802. 11 is a standard for wireless LANs, and this invention shall be explained with reference to this standard. The invention, however, is not restricted to the IEEE 802.11 standard, and other types of wireless networks such as the HIPERLAN/2 may make use of the methods and apparatuses described herein.
The basic topology of an 802.11 network is shown in FIG. 1A. A Basic Service Set (BSS) consists of two or more wireless nodes, or stations (STAs), which have recognized each other and have established communications. In the most basic form, stations communicate directly with each other on a peer-to-peer level, sharing a given cell coverage area. This type of network is often formed on a temporary basis, and is commonly referred to as an ad hoc network, or Independent Basic Service Set (IBSS).
In most instances, the BSS contains an Access Point (AP). The main function of an AP is to form a bridge between wireless and wired LANs. The AP is analogous to a base station used in cellular phone networks. An AP can also work as a repeater. When an AP is present, stations do not communicate on a peer-to-peer basis. All communications between stations or between a station and a wired network client go through the AP. AP's are typically not mobile, and typically form part of the wired network infrastructure. A BSS in this configuration is said to be operating in the infrastructure mode. Two BSSs, BSS-1 and BSS-2 in infrastructure mode are shown in FIG. 1B, both connected to a wired network.
It is advantageous to keep stations in a wireless network synchronized, and indeed the IEEE 802.11 standard, e.g., the IEEE 802.11 MAC standard specifies that stations be so synchronized. Such synchronization is needed for example in networks that use frequency hopping in the physical layer (PHY) in order to keep the hopping synchronized. Synchronization also plays an important part in power saving. The IEEE 802.11 standard defines two power saving modes, active and power save. Within the power save mode there are two states, doze and awake. When in the doze state, stations must “wake up” periodically to listen for periodic beacons that indicate whether the AP has queued messages. The STAs need to be synchronized to wake up at the correct time. Such power saving functions are sure to become more important as low power hand-held wireless devices are introduced.
The IEEE 802.11 standard specifies that STAs maintain a local station clock, and that all station clocks within a BSS are synchronized by periodic transmission of timestamped beacons. The MAC function of keeping the timers of all STAs in the same BSS synchronized is called the Timing Synchronization Function (TSF). In the infrastructure mode, the AP serves as the timing master and generates all timing beacons. Synchronization is maintained to within 4 microseconds plus propagation delay.
The IEEE 802.11 standard also defines probe request and probe response management frames. A station issues a probe request and another station or AP responds with a probe response that includes a timestamp. This timestamp also can be used for synchronization.
In the prior art, TSF is typically performed by real-time processing in software, using comparison and modification of the running hardware TSF clock. Such an approach can cause problems. Firstly, the hardware clock may arbitrarily jump in time. Secondly, the requirement for real time processing in software is onerous.
Most current MAC implementations place little reliance on accurate time, for example because they are not aggressive in power save, and other such advanced functionality requiring accurate synchronization. Future MAC implementations may place more importance on accurate clocks. The MAC implementations for correcting the hardware clock may be excessively complex if the hardware clock is permitted to arbitrarily jump in time or requires real time processing in software.
Thus there is a need for a method and apparatus for providing a hardware clock that always counts up, and does not require real time processing in software in order to maintain a synchronized TSF clock.